<?php
//error_reporting(E_ALL);echo '<pre>';
/**
 * @APP@
 *
 * PHP versions 5
 *
 * @category   BEAR
 * @package    App
 * @author     $Author: anonymous $ <anonymous@example.com>
 * @license
 * @version    SVN: Release: $Id:$
 */

/**
 * アプリケーションクラス
 *
 * @category   BEAR
 * @package    App
 * @author     $Author: anonymous $ <anonymous@example.com>
 * @copyright  anonymous All rights reserved.
 * @license
 * @version    SVN: Release: $Id:$
 */

/**
 * プロジェクトルートパス
 */
define('_BEAR_APP_HOME', realpath(dirname(__FILE__)));

$bearMode = (isset($_SERVER['bearmode']) && !isset($_GET['_live'])) ? $_SERVER['bearmode'] : 0;
// プロファイルオプション （要xdebug+xhprof)
require _BEAR_APP_HOME . '/App/prof.php';

/**
 * BEAR
 */
require 'BEAR.php';


// アプリケーション実行
App::init($bearMode);

/**
 * アプリケーションクラス
 *
 * @category   BEAR
 * @package    App
 * @subpackage Class
 * @author     $Author: anonymous $ <anonymous@example.com>
 * @license    unkonwn http://www.example.com/
 * @version    SVN: Release: $Id: App.php 95 2009-08-11 05:18:25Z anonymous $
 * @link       http://www.example.com/
 *
 */
class App
{

	/**
	 * Appイニシャライザ
	 *
	 * .htaccessのphp valueによってアプリ動作プロパティ($_SERVER['bearmode'])を決定します。
	 *
	 * @return void
	 */
	public static function init($bearMode)
	{
		$app = BEAR::loadConfig(_BEAR_APP_HOME. '/App/app.yml');
		switch ($bearMode) {
			case 1 :
			    //開発（キャッシュ未使用）
            case 2 :
                //開発（キャッシュ使用）
                $app['core']['debug'] = true;
				$app['App_Db']['dsn']['default'] = $app['App_Db']['dsn']['slave'] = $app['App_Db']['dsn']['test'];
				break;
			case 3 :
				//ライブでデバック
				$app['core']['debug'] = true;
				break;
			default :
				//ライブ
				$app['core']['debug'] = false;
				break;
		}
		BEAR::init($app);
		if ($bearMode === 1) {
		    BEAR_Util::clearAllCache(false);
		}
	}
}